<?php
error_reporting(E_ALL);
ini_set('display_errors','off');

include_once "ConexionBD.php";
include_once "../negocio/Cliente.php";

class ClienteSQL{

    private $sql; 
    
    
    function ClienteSQL() {$this->sql = ConexionBD::getInstancia();}

    public function verificarCliente(&$obj){

        $conn = $this->sql->getConexion();
	$sql="select rut from PERSONA where rut ='".$obj->getRut()."'";
        $resultado = array();
        $resultado = $this->sql->ejecutarSql($sql);
        if (isset($resultado[0][0]) && $resultado[0][0]==$obj->getRut()){
            //die("Error de conexion. ". pg_last_error());
            return 0;
        }
        else return 1;
    }
    public function ingresarDatos(&$obj){
        
        $conn = $this->sql->getConexion();
	$sql="select rut from PERSONA where rut ='".$obj->getRut()."'";
        $resultado = array();
        $resultado = $this->sql->ejecutarSql($sql);
        if (isset($resultado[0][0]) && $resultado[0][0]==$obj->getRut()){
            //die("Error de conexion. ". pg_last_error());
            return 0;
        }

        $resto="";
        if(trim($obj->getDireccion())!="")$resto.=", '".$obj->getDireccion()."'";
        if(trim($obj->getCiudad())!="")$resto.=", '".$obj->getCiudad()."'";
        if(trim($obj->getGenero())!="")$resto.=", '".$obj->getGenero()."'";
        if(trim($obj->getNacionalidad())!="")$resto.=", '".$obj->getNacionalidad()."'";
        if(trim($obj->getEcivil())!="")$resto.=", '".$obj->getEcivil()."'";
        if(trim($obj->getProfesion())!="")$resto.=", '".$obj->getProfesion()."'";

        if(trim($obj->getTelefono())!="")$resto.=", '".$obj->getTelefono()."'";
        if(trim($obj->getEmail())!="")$resto.=", '".$obj->getEmail()."'";
        
        if(trim($obj->getGen())!="")$resto.=", '".$obj->getGen()."'";
        
        $atributos="";
        if(trim($obj->getDireccion())!="")$atributos.=", direccion";
        if(trim($obj->getCiudad())!="")$atributos.=", ciudad";
        if(trim($obj->getGenero())!="")$atributos.=", genero";
        if(trim($obj->getNacionalidad())!="")$atributos.=", nacionalidad";
        if(trim($obj->getEcivil())!="")$atributos.=", ecivil";
        if(trim($obj->getProfesion())!="")$atributos.=", profesion";

        if(trim($obj->getTelefono())!="")$atributos.=", telefono";
        if(trim($obj->getEmail())!="")$atributos.=", email";
        
        if(trim($obj->getGen())!="")$atributos.=", gen";

        /*
                        $sql="insert into PERSONA (rut, apellido_m, apellido_p, nombre".$atributos.")
                        values('".$obj->getRut()."', '".$obj->getApellido_m()."', '".$obj->getApellido_p()."', '".$obj->getDireccion()."', '".$obj->getEmail()."', '".$obj->getNombres()."', '".$obj->getTelefono()."', '".$obj->getCiudad()."', '".$obj->getGenero()."', '".$obj->getNacionalidad()."', '".$obj->getEcivil()."', '".$obj->getProfesion()."' )
                        ;insert into CLIENTE values('".$obj->getRut()."', current_timestamp, '".$obj->getFecha_nacimiento()."', '".$obj->getEmpresa()."')";

 *                       $sql="insert into PERSONA values('".$obj->getRut()."', '".$obj->getApellido_m()."', '".$obj->getApellido_p()."', '".$obj->getDireccion()."', '".$obj->getEmail()."', '".$obj->getNombres()."', '".$obj->getTelefono()."', '".$obj->getCiudad()."', '".$obj->getGenero()."', '".$obj->getNacionalidad()."', '".$obj->getEcivil()."', '".$obj->getProfesion()."' )
                        ;insert into CLIENTE values('".$obj->getRut()."', current_timestamp, '".$obj->getFecha_nacimiento()."', null)";

 */
        $fecha_nacimiento="";
        $fecha_nacimiento2="";
        if(trim($obj->getFecha_nacimiento())!="")$fecha_nacimiento.=", fecha_nacimiento";
        if(trim($obj->getFecha_nacimiento())!="")$fecha_nacimiento2.="'".$obj->getFecha_nacimiento()."', ";

        if(trim($obj->getEmpresa())!="")
                {
                        $sql="insert into PERSONA values('".$obj->getRut()."', '".$obj->getApellido_m()."', '".$obj->getApellido_p()."', '".$obj->getDireccion()."', '".$obj->getEmail()."', '".$obj->getNombres()."', '".$obj->getTelefono()."', '".$obj->getCiudad()."', '".$obj->getGenero()."', '".$obj->getNacionalidad()."', '".$obj->getEcivil()."', '".$obj->getProfesion()."', '".$obj->getGen()."' )
                        ;insert into CLIENTE values('".$obj->getRut()."', current_timestamp, '".$obj->getFecha_nacimiento()."', '".$obj->getEmpresa()."')";
                }
         else
             {

                        $sql="insert into PERSONA (rut, apellido_m, apellido_p, nombre".$atributos.")
                        values('".$obj->getRut()."', '".$obj->getApellido_m()."', '".$obj->getApellido_p()."', '".$obj->getNombres()."'".$resto.")

                        ;insert into CLIENTE (rut,fecha_registro".$fecha_nacimiento.",empresa) values('".$obj->getRut()."', current_timestamp, ".$fecha_nacimiento2." null)";

             }
        //echo $sql;
        //exit;
        if (!pg_query( $conn , $sql )){
            die("Error de conexion. ". pg_last_error());
            return 0;
        }
        else return 1;
        pg_close($conn);
    }
    
    public function modificarDatos(&$obj){
	
        $sql=   "UPDATE PERSONA
                SET apellido_m='".$obj->getApellido_m()."', apellido_p='".$obj->getApellido_p()."', direccion='".$obj->getDireccion()."', email='".$obj->getEmail()."', nombre='".$obj->getNombres()."', ciudad='".$obj->getCiudad()."', telefono='".$obj->getTelefono()."', genero='".$obj->getGenero()."', nacionalidad='".$obj->getNacionalidad()."', ecivil='".$obj->getEcivil()."', profesion='".$obj->getProfesion()."', gen='".$obj->getGen()."'
                WHERE rut='".$obj->getRut()."'
                ;UPDATE CLIENTE
                SET fecha_nacimiento='".$obj->getFecha_nacimiento()."'
                WHERE rut='".$obj->getRut()."'";
        //echo $sql;
        $conn = $this->sql->getConexion();
        if (!pg_query( $conn , $sql )){
            die("Error de conexion. ". pg_last_error());
        }
        pg_close($conn);
    }


    public function modificarDatosSolicitud(&$obj){
        $resto="";
        if(trim($obj->getDireccion())!="")$resto.=", direccion='".$obj->getDireccion()."'";
        if(trim($obj->getCiudad())!="")$resto.=", ciudad='".$obj->getCiudad()."'";
        if(trim($obj->getGenero())!="")$resto.=", genero='".$obj->getGenero()."'";
        if(trim($obj->getNacionalidad())!="")$resto.=", nacionalidad='".$obj->getNacionalidad()."'";
        if(trim($obj->getEcivil())!="")$resto.=", ecivil='".$obj->getEcivil()."'";
        if(trim($obj->getProfesion())!="")$resto.=", profesion='".$obj->getProfesion()."'";
        if(trim($obj->getGen())!="")$resto.=", gen='".$obj->getGen()."'";
        $sql=   "UPDATE PERSONA
        SET apellido_m='".$obj->getApellido_m()."', apellido_p='".$obj->getApellido_p()."', nombre='".$obj->getNombres()."'".$resto." WHERE rut='".$obj->getRut()."';";
        echo $sql;
        $conn = $this->sql->getConexion();
        if (!pg_query( $conn , $sql )){
            die("Error de conexion. ". pg_last_error());
        }
        pg_close($conn);
    }

    public function buscarDatos(&$obj){

        $sql=   "SELECT *
                FROM PERSONA p, CLIENTE c
                WHERE p.rut = c.rut and c.rut like '%".$obj->getRut()."%'
                AND UPPER(p.nombre) like UPPER('%".$obj->getNombres()."%')
                AND UPPER(p.apellido_p) like UPPER('%".$obj->getApellido_p()."%') 
                AND UPPER(p.apellido_m) like UPPER('%".$obj->getApellido_m()."%')
                ORDER BY p.rut ASC";
        
        //echo "<br>$sql<br>";
        
        $resultado = $this->sql->ejecutarSql($sql);
        
        //$conn = $this->sql->getConexion();
//        $consulta = pg_query( $conn , $sql );
//       
//        //pg_execute($stmt , PG_DEFAULT);
//        
//        while($cliente= pg_fetch_assoc($consulta))
//        {
//            $rut = $cliente['rut'];
//            $nombre = $cliente['nombre'];
//            $apellido_p = $cliente['apellido_p'];
//            $apellido_m = $cliente['apellido_m'];
//            
//            $clientes[] = array('rut' => $rut, 'nombre' => $nombre, 'apellido_p' => $apellido_p, 'apellido_m' => $apellido_m);
//        }
//        return $clientes[];
        //oci_fetch($stmt);
        
    //$resultado = pg_query( $conn , $sql ); 

    //obtener el array de objetos
    
    //while ($obj = $resultado->fetch_object()) { printf ("%s (%s)\n", $obj->Name, $obj->CountryCode); }

    /* liberar el conjunto de resultados */
    
            
       
        
        //pg_close($conn);
        return $resultado;
    }
    
}

?>